package com.ffcs.crmd.tsp.server.jdbc.delegate;

import java.sql.Connection;
import java.util.List;

import com.ffcs.crmd.tsp.common.exception.TspTransactionException;
import com.ffcs.crmd.tsp.server.jdbc.entity.Job;
import com.ffcs.crmd.tsp.server.jdbc.entity.JobDetail;
import com.ffcs.crmd.tsp.server.jdbc.entity.JobDetailParam;
import com.ffcs.crmd.tsp.server.jdbc.entity.JobGroup;
import com.ffcs.crmd.tsp.server.jdbc.entity.JobIdentityInfo;
import com.ffcs.crmd.tsp.server.jdbc.entity.Slice;
import com.ffcs.crmd.tsp.server.jdbc.entity.SliceGroup;
import com.ffcs.crmd.tsp.server.jdbc.entity.TaskIdentity;

public interface ServiceDelegate {
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addJobGroup(Connection conn, JobGroup jobGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateJobGroup(Connection conn, JobGroup jobGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteJobGroup(Connection conn, JobGroup jobGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    JobGroup getJobGroup(Connection conn, JobGroup jobGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobGroup> queryJobGroup(Connection conn, JobGroup jobGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobGroup> queryJobGroupPage(Connection conn, JobGroup jobGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addJob(Connection conn, Job job) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateJob(Connection conn, Job job) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteJob(Connection conn, Job job) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    Job getJob(Connection conn, Job job) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<Job> queryJob(Connection conn, Job job) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<Job> queryJobPage(Connection conn, Job job) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    Long addJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void pauseJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void resumeJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    JobDetail getJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobDetail> queryJobDetail(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobDetail> queryJobDetailPage(Connection conn, JobDetail jobDetail) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addJobDetailParam(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateJobDetailParam(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteJobDetailParam(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    JobDetailParam getJobDetailParam(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobDetailParam> queryJobDetailParam(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobDetailParam> queryJobDetailParamPage(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addJobIdentityInfo(Connection conn, JobIdentityInfo jobIdentityInfo) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteJobIdentityInfo(Connection conn, JobIdentityInfo jobIdentityInfo) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    JobIdentityInfo getJobIdentityInfo(Connection conn, JobIdentityInfo jobIdentityInfo) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobIdentityInfo> queryJobIdentityInfo(Connection conn, JobIdentityInfo jobIdentityInfo) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<JobIdentityInfo> queryJobIdentityInfoPage(Connection conn, JobIdentityInfo jobIdentityInfo) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addSlice(Connection conn, Slice slice) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateSlice(Connection conn, Slice slice) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteSlice(Connection conn, Slice slice) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    Slice getSlice(Connection conn, Slice slice) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<Slice> querySlice(Connection conn, Slice slice) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<Slice> querySlicePage(Connection conn, Slice slice) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addSliceGroup(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateSliceGroup(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteSliceGroup(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    SliceGroup getSliceGroup(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<SliceGroup> querySliceGroup(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<SliceGroup> querySliceGroupPage(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;
    
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @throws TspTransactionException 
     */
    void addTaskIdentity(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void updateTaskIdentity(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     */
    void deleteTaskIdentity(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    TaskIdentity getTaskIdentity(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<TaskIdentity> queryTaskIdentity(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;
    
    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return 
     * @throws TspTransactionException 
     */
    List<TaskIdentity> queryTaskIdentityPage(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobDetail
     * @return
     * @throws TspTransactionException
     */
    int queryJobDetailSize(Connection conn, JobDetail jobDetail) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobDetailParam
     * @return
     * @throws TspTransactionException 
     */
    int queryJobDetailParamSize(Connection conn, JobDetailParam jobDetailParam) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobGroup
     * @return
     */
    int queryJobGroupSize(Connection conn, JobGroup jobGroup) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param jobIdentityInfo
     * @return
     * @throws TspTransactionException 
     */
    int queryJobIdentityInfoSize(Connection conn, JobIdentityInfo jobIdentityInfo) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param job
     * @return
     * @throws TspTransactionException 
     */
    int queryJobSize(Connection conn, Job job) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param slice
     * @return
     * @throws TspTransactionException 
     */
    int querySliceSize(Connection conn, Slice slice) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param sliceGroup
     * @return
     * @throws TspTransactionException 
     */
    int querySliceGroupSize(Connection conn, SliceGroup sliceGroup) throws TspTransactionException;

    /**
     * 功能说明:
     * 
     * @param conn
     * @param taskIdentity
     * @return
     * @throws TspTransactionException 
     */
    int queryTaskIdentitySize(Connection conn, TaskIdentity taskIdentity) throws TspTransactionException;
}
